Application development tools are frequently provided to program developers to make the job of programming simpler and more efficient. A technique that has been developed to assist novice and intermediate programmers using such tools, such as VisualAge for Smalltalk from International Business Machines Corp. and Visual Basic from Microsoft, has been the concept of visual programming from parts. In addition to the underlying programming language, such tools provide a selection of pre-built software parts or components presented to a software developer via an icon in a graphical user interface together with an open work space. By simply selecting one of the icons and dragging it into the work space, the developer in effect programs an application that the developer is creating to include the code for the function of the part or component which the icon represents.
Programming from parts is especially effective for developing graphical user interfaces for software applications being created, but is also employed for adding many types of functions to applications such as communication, database access, multimedia, etc. With the advent of the World Wide Web, another natural extension is for use with the Java language and the creation of home pages for businesses.
Many currently available tools use "plugin," "construction from parts" or similar technologies, but do not provide a simple mechanism for an end user to add objects to the tool's palette of parts. These tools tend to provide support for adding pre-built parts supplied by a third party vendor, which necessarily needs to be an expert programmer. When the user has a need for a part that cannot be obtained from a parts vendor, the only option is to write source code for a custom part. Since the general computer using public does not have the programming skill required to write the necessary source code, creating these kinds of custom parts is limited to the computer programmer.
Another problem with programming from parts is that every application development tool has different requirements for the structure of the parts. That is, for example, parts developed for Visual Basic do not work with parts for VisualAge, and vice-versa. The process of enabling software parts to be available within a specific development tool is difficult, as indicated above, requiring the writing of code that conforms to a specification provided by that specific development tool.
There are, however, hundreds of Java classes available on the Internet for reuse, and this number grows daily. There is no known way to import these classes onto a parts palette, especially when many of the classes are not designed for use with a particular tool. Thus, there is a need for a method and system which allows customizing a palette using any Java class.